﻿名称：		DaiSystem
描述：		DaiSystem（DAI 氏）
封包：		.pac
作者：		痴漢公賊 (glanser@163.com)
版本：		0.9.0
成熟度：	开发版

【TODO】
支持解码控制字段的模式1。

【.dat封包文件说明】
    实际类型是有目录的封包资源文件。
    元数据根据实际用途，是bmp、ogg、txt（脚本）等。
    
    	首部：
		s8 magic[16];		// "DAI_SYSTEM_01000"
		u16 index_entries;	// 资源文件数
		u32 index_length;	// 索引段长度
 	索引段：需要解密；每个索引项变长
		xxxx,yyyy,
		xxxx表示资源文件的名字；yyyy是资源文件数据（从首部算起）；每个字段用“,”隔开。
	数据：
		紧接在索引段之后，格式可分为脚本类、cg类以及ogg类为：

		【脚本类】
	    	首部：
			s8 magic[3];			// "HA0"
			u8 parameter_length;		// 2字节
			u32 uncomprlen;			// 实际资源数据长度
			u8 mode[4];			// 解码控制字段（1 - ？；2 - 重排序；3 - 字节加密；4 - lz压缩）
			u32 reserved;
			s8 parameter[2];		// "OK"
			u32 uncomprlen0;		// 实际资源数据长度
			u32 flag_bitmap_bit_length;	// 有效的标志位位数
			u32 flag_bitmap_byte_length;	// 标志位占用的字节数
		数据：
			紧接在首部之后，格式根据解码控制字段而定。

		【cg类】总是24 bit。
	    	首部：
			s8 magic[3];			// "HA0"
			u8 parameter_length;		// 5字节
			u32 uncomprlen;			// 实际资源数据长度
			u8 mode[4];			// 解码控制字段（1 - ；2 - 重排序；3 - 字节加密；4 - lz压缩）
			u32 reserved;
			u16 width;			// 图像宽度
			u16 height;			// 图像高度
			u8 have_alpha;			// 0 - 无alpha; 非0 - 有alpha
			u32 uncomprlen0;		// 实际资源数据长度
			u32 flag_bitmap_bit_length;	// 有效的标志位位数
			u32 flag_bitmap_byte_length;	// 标志位占用的字节数
		数据：
			紧接在首部之后，具体格式根据解码控制字段而定。

		【ogg类】
	    	首部：
			s8 magic[3];		// "HA0"
			u8 parameter_length;	// 2字节
			u32 uncomprlen;		// 实际资源数据长度
			u8 mode[4];		// 总是0
			u32 reserved;
			s8 parameter[2];	// "OK"
		数据：
			紧接在首部之后；格式是ogg音频数据。

【ChangeLog】
2008-04-21 15:16 ver 0.9.0 支持解码控制字段模式2；重写了提取代码
2007-05-07 04:11 ver 0.8.0 第一版发布
